iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0

Info

Walkthrough

  • 存取網頁後使用帳號和上關獲取的密碼登入,看到 Find words containing 輸入框和 Search 按鈕,底下 Output 則是空的
    • Imgur
  • 點擊 View sourcecode 超連結查看後端 PHP 程式碼
    • Imgur
  • 分析程式碼邏輯後畫成流程圖如下,使用 GETPOST 等方式提交 needle=<使用者輸入>,會將串接進指令執行
    • Imgur
  • 例如在網址輸入 ?needle=CHA 或是框中輸入 CHA,網站後端會執行 grep -i CHA dictionary.txt 並將結果回顯於網頁
    • Imgur
  • 對於 grep 不熟的話,可以試著在本地練習看看,先創建自訂的 dictionary.txt 再構造出同樣的指令,發現不論大小寫 (-i),會將 dictionary.txt 中包含關鍵字 CHA 的對應行打印在終端機中
    • Imgur
  • 在已知敏感檔案路徑的情況下,透過 ; 截斷前後指令,構造出 ;cat /etc/natas_webpass/natas10; 的輸入
    • Imgur
  • 任選 GETPOST 的方式提交,成功獲得下題的登入密碼
    • Imgur

Note

  • 允許透過使用者未經驗證的輸入來執行任意指令,通常會嚴重影響產品的機密性、完整性與可用性,讓攻擊者可完全控制受影響的機器,進而任意讀取、修改資料或停用服務等
  • 通常改用 API 來實作所需的功能,且對使用者輸入進行白名單過濾

Summary

Reference


上一篇
Day 0x09 Natas Level 7 → Level 8
下一篇
Day 0x0B Natas Level 9 → Level 10
系列文
Natas 網頁安全:從入門到放棄35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言